home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / mlist / src / mlist.bas next >
Encoding:
BASIC Source File  |  1993-11-30  |  4.8 KB  |  153 lines

  1. 10000 '
  2. 10010 ' 収支表示プログラム
  3. 10020 '
  4. 10030 '
  5. 10040 ' MLIST.BAS
  6. 10050 '
  7. 10060 '
  8. 10070 ' 初期設定
  9. 10080 '
  10. 10090 CLEAR ,,,,,300*1024
  11. 10100 DEF FONT "システム   12ドット"
  12. 10110 SCREEN 0
  13. 10120 SCREEN@0
  14. 10130 COLOR 7,0,7,0
  15. 10140 CLS
  16. 10150 MY=50
  17. 10160 FSIZE=12/16
  18. 10170 DIM DAY$(100),KIND$(100),NA$(100),MONEY$(100)
  19. 10180 '
  20. 10190 ' コンフィグファイルロード
  21. 10200 '
  22. 10210 OPEN "I",1,"MLIST.CFG"
  23. 10220 LINE INPUT #1,DUMMY$
  24. 10230 CLOSE
  25. 10240 PUTTING_TIME=VAL(MID$(DUMMY$,14))
  26. 10250 '
  27. 10260 ' ロゴ表示
  28. 10270 '
  29. 10280 PALETTE 11,[0,255,255]
  30. 10290 SYMBOL (2,2),"MList v1.00d",12/16,12/16,%11
  31. 10300 SYMBOL (457,465),"1993 By EMERALD",12/16,12/16,%11
  32. 10310 '
  33. 10320 ' データロード
  34. 10330 '
  35. 10340 OPEN "I",1,"MLIST.DAT"
  36. 10350 WHILE EOF(1)<>-1
  37. 10360 L=L+1
  38. 10370 INPUT #1,DAY$(L),KIND$(L),NA$(L),MONEY$(L)
  39. 10380 WEND
  40. 10390 CLOSE
  41. 10400 '
  42. 10410 ' 計算ルーチン
  43. 10420 '
  44. 10430 FOR M=1 TO L
  45. 10440 IF KIND$(M)="FMT"  THEN FMTTOTAL =FMTTOTAL +VAL(MONEY$(M))
  46. 10450 IF KIND$(M)="SFC"  THEN SFCTOTAL =SFCTOTAL +VAL(MONEY$(M))
  47. 10460 IF KIND$(M)="ARC"  THEN ARCTOTAL =ARCTOTAL +VAL(MONEY$(M))
  48. 10470 IF KIND$(M)="BOOK" THEN BOOKTOTAL=BOOKTOTAL+VAL(MONEY$(M))
  49. 10480 IF KIND$(M)="FOOD" THEN FOODTOTAL=FOODTOTAL+VAL(MONEY$(M))
  50. 10490 IF KIND$(M)="WORK" THEN WORKTOTAL=WORKTOTAL+VAL(MONEY$(M))
  51. 10500 IF KIND$(M)="GIVE" THEN GIVETOTAL=GIVETOTAL+VAL(MONEY$(M))
  52. 10510 IF KIND$(M)="SOLD" THEN SOLDTOTAL=SOLDTOTAL+VAL(MONEY$(M))
  53. 10520 NEXT M
  54. 10530 '
  55. 10540 ' 支出計算
  56. 10550 '
  57. 10560 INTOTAL=WORKTOTAL+GIVETOTAL+SOLDTOTAL
  58. 10570 '
  59. 10580 ' 0 除算トラップ
  60. 10590 '
  61. 10600 IF INTOTAL=0 THEN *収入表示
  62. 10610 WORKPER%=WORKTOTAL/INTOTAL*100
  63. 10620 GIVEPER%=GIVETOTAL/INTOTAL*100
  64. 10630 SOLDPER%=SOLDTOTAL/INTOTAL*100
  65. 10640 '
  66. 10650 *収入表示
  67. 10660 '
  68. 10670 SYMBOL(20,MY)    ,"労働収入"        ,FSIZE,FSIZE,%12
  69. 10680 SYMBOL(530,MY)   ,STR$(WORKPER%)+"%",FSIZE,FSIZE,%12
  70. 10690 SYMBOL(570,MY)   ,STR$(WORKTOTAL)   ,FSIZE,FSIZE,%12
  71. 10700 SYMBOL(20,MY+20) ,"援助収入"        ,FSIZE,FSIZE,%12
  72. 10710 SYMBOL(530,MY+20),STR$(GIVEPER%)+"%",FSIZE,FSIZE,%12
  73. 10720 SYMBOL(570,MY+20),STR$(GIVETOTAL)   ,FSIZE,FSIZE,%12
  74. 10730 SYMBOL(20,MY+40) ,"売却収入"        ,FSIZE,FSIZE,%12
  75. 10740 SYMBOL(530,MY+40),STR$(SOLDPER%)+"%",FSIZE,FSIZE,%12
  76. 10750 SYMBOL(570,MY+40),STR$(SOLDTOTAL)   ,FSIZE,FSIZE,%12
  77. 10760 SYMBOL(20,MY+80) ,"総収入"          ,FSIZE,FSIZE,%12
  78. 10770 SYMBOL(570,MY+80),STR$(INTOTAL)     ,FSIZE,FSIZE,%12
  79. 10780 '
  80. 10790 ' 支出計算
  81. 10800 '
  82. 10810 OUTTOTAL=FMTTOTAL+SFCTOTAL+ARCTOTAL+BOOKTOTAL+FOODTOTAL
  83. 10820 '
  84. 10830 ' 0 除算トラップ
  85. 10840 '
  86. 10850 IF OUTTOTAL=0 THEN *支出表示
  87. 10860 FMTPER% =FMTTOTAL /OUTTOTAL*100
  88. 10870 SFCPER% =SFCTOTAL /OUTTOTAL*100
  89. 10880 ARCPER% =ARCTOTAL /OUTTOTAL*100
  90. 10890 BOOKPER%=BOOKTOTAL/OUTTOTAL*100
  91. 10900 FOODPER%=FOODTOTAL/OUTTOTAL*100
  92. 10910 '
  93. 10920 *支出表示
  94. 10930 '
  95. 10940 SYMBOL(20,MY+120),"FMT支出"       ,FSIZE,FSIZE,%10
  96. 10950 SYMBOL(530,MY+120),STR$(FMTPER%)+"%" ,FSIZE,FSIZE,%10
  97. 10960 SYMBOL(570,MY+120),STR$(FMTTOTAL)    ,FSIZE,FSIZE,%10
  98. 10970 SYMBOL(20,MY+140),"SFC支出"       ,FSIZE,FSIZE,%10
  99. 10980 SYMBOL(530,MY+140),STR$(SFCPER%)+"%" ,FSIZE,FSIZE,%10
  100. 10990 SYMBOL(570,MY+140),STR$(SFCTOTAL)    ,FSIZE,FSIZE,%10
  101. 11000 SYMBOL(20,MY+160),"ARC支出"       ,FSIZE,FSIZE,%10
  102. 11010 SYMBOL(530,MY+160),STR$(ARCPER%)+"%" ,FSIZE,FSIZE,%10
  103. 11020 SYMBOL(570,MY+160),STR$(ARCTOTAL)    ,FSIZE,FSIZE,%10
  104. 11030 SYMBOL(20,MY+180),"雑誌・書籍支出"   ,FSIZE,FSIZE,%10
  105. 11040 SYMBOL(530,MY+180),STR$(BOOKPER%)+"%",FSIZE,FSIZE,%10
  106. 11050 SYMBOL(570,MY+180),STR$(BOOKTOTAL)   ,FSIZE,FSIZE,%10
  107. 11060 SYMBOL(20,MY+200),"食糧支出"         ,FSIZE,FSIZE,%10
  108. 11070 SYMBOL(530,MY+200),STR$(FOODPER%)+"%",FSIZE,FSIZE,%10
  109. 11080 SYMBOL(570,MY+200),STR$(FOODTOTAL)   ,FSIZE,FSIZE,%10
  110. 11090 SYMBOL(20,MY+240),"総支出"           ,FSIZE,FSIZE,%10
  111. 11100 SYMBOL(570,MY+240),STR$(OUTTOTAL)    ,FSIZE,FSIZE,%10
  112. 11110 '
  113. 11120 ' 残金計算
  114. 11130 '
  115. 11140 ENDTOTAL=WORKTOTAL+GIVETOTAL+SOLDTOTAL+FMTTOTAL+SFCTOTAL+ARCTOTAL+BOOKTOTAL+FOODTOTAL
  116. 11150 '
  117. 11160 ' 0 除算トラップ
  118. 11170 '
  119. 11180 IF ENDTOTAL=0 THEN *残金表示
  120. 11190 ZAP%=ENDTOTAL/INTOTAL*100
  121. 11200 '
  122. 11210 *残金表示
  123. 11220 '
  124. 11230 IF ENDTOTAL>0 THEN
  125. 11240   SYMBOL (20,MY+280) ,"残金"      ,FSIZE,FSIZE,%12
  126. 11250   SYMBOL (530,MY+280),STR$(ZAP%)+"%",FSIZE,FSIZE,%12
  127. 11260   SYMBOL (570,MY+280),STR$(ENDTOTAL),FSIZE,FSIZE,%12
  128. 11270 ELSE
  129. 11280   SYMBOL (20,MY+280) ,"残金"      ,FSIZE,FSIZE,%10
  130. 11290   SYMBOL (530,MY+280),STR$(ZAP%)+"%",FSIZE,FSIZE,%10
  131. 11300   SYMBOL (570,MY+280),STR$(ENDTOTAL),FSIZE,FSIZE,%10
  132. 11310 ENDIF
  133. 11320 '
  134. 11330 *時間待ち
  135. 11340 '
  136. 11350 '
  137. 11360 ' 無限判定
  138. 11370 '
  139. 11380 MOUSE 0
  140. 11390 '
  141. 11400 IF PUTTING_TIME=0 THEN
  142. 11410   IF MOUSE(2,0)=0 OR MOUSE(2,1)=0 THEN *時間待ち
  143. 11420   END
  144. 11430 ENDIF
  145. 11440 '
  146. 11450 ' 通常ループ
  147. 11460 '
  148. 11470 FOR L=1 TO PUTTING_TIME
  149. 11480   IF MOUSE(2,0)=-1 OR MOUSE(2,1)=-1 THEN END
  150. 11490   WAIT 100
  151. 11500 NEXT L
  152. 11510 END
  153.